//
// @author 风杨
// @date 22-9-14 上午11:01
// @see <a href="yueny09@163.com">mailTo: yueny09@163.com</a>
// @see  https://docs.rs/opendal/0.16.0/opendal/

use crate::config::{get_config, get_s3_configs};
// use opendal::{Object, Operator, Scheme};
//
// /// 创建操作服务, Init Operator
// fn create_dal_operator() -> Operator {
//     let config = get_config();
//
//     let s3_configs = get_s3_configs(&config)
//         .into_iter()
//         .map(|(k, v)| (k, v.into_string().unwrap()));
//
//     Operator::from_iter(Scheme::S3, s3_configs).unwrap()
// }
//
// /// 测试用例
//
// #[cfg(test)]
// mod test {
//     use crate::config::init_config;
//     use crate::plugins::opendal_operator::create_dal_operator;
//     use std::io::Error;
//
//     #[test]
//     // #[tokio::test]
//     // async fn test_put_s3() -> Result<(), Error> {
//     fn test_put_s3() {
//         init_config();
//
//         // Init Operator
//         let op = create_dal_operator();
//
//         // Create object handler.
//         let o = operator.object("/a.txt");
//         // 写文件， 并写入数据, Write data info object;
//         o.write("12345").await?.expect("write to s3");
//
//         // 查询文件， 查询数据 Read data from object;
//         let bs = operator.object("/a.txt");
//         // Get object's path
//         let name = bs.name();
//         let path = bs.path();
//
//         let resultData = bs.read().await?;
//         // Read range from object;
//         let resultData1 = o.range_read(1..=11).await?;
//
//         assert_eq!(resultData, "12345".as_bytes());
//
//         // Ok(())
//     }
// }
